home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 23 / AMIGAplus Sonderheft 23 (2000)(Falke)(DE)[!].iso / Updates / Datatypes / RGFX-DT / Source / rgfx.h < prev    next >
C/C++ Source or Header  |  1999-11-14  |  2KB  |  77 lines

  1. #ifndef LIBRARIES_RGFX_H
  2. #define LIBRARIES_RGFX_H
  3. #ifndef LIBARIES_IFFPARSE_H
  4. #include <libraries/iffparse.h>
  5. #endif
  6.  
  7. #define ID_RGFX  MAKE_ID('R','G','F','X')
  8. #define ID_RGHD  MAKE_ID('R','G','H','D')
  9. #define ID_RSCM  MAKE_ID('R','S','C','M')
  10. #define ID_RCOL  MAKE_ID('R','C','O','L')
  11. #ifndef ID_RBOD
  12. #define ID_RBOD  MAKE_ID('R','B','O','D')
  13. #endif
  14.  
  15. struct RGHD
  16. {
  17. ULONG rgfx_LeftEdge;
  18. ULONG rgfx_TopEdge;
  19. ULONG rgfx_Width;
  20. ULONG rgfx_Height;
  21. ULONG rgfx_PageWidth;
  22. ULONG rgfx_PageHeight;
  23. ULONG rgfx_Depth; /* 1-8 for RMBT_BYTEPLANAR8, 1-8 for RMBT_BYTECHUNKY8, 24 for RMBT_3BYTERGB24 */
  24. ULONG rgfx_PixelBits; /* 1-8 for RMBT_BYTEPLANAR8, 8 for RMBT_BYTECHUNKY8, 24 for RMBT_3BYTERGB24 */
  25. ULONG rgfx_BytesPerLine; /* (width+7)/8 for RMBT_BYTEPLANAR8, width for RMBT_BYTECHUNKY8, width*3 for RMBT_3BYTERGB24 */
  26. ULONG rgfx_Compression; /* RCMT_ type flag */
  27. ULONG rgfx_XAspect;
  28. ULONG rgfx_YAspect;
  29. ULONG rgfx_BitMapType; /* RBMT_ type flag */
  30. };
  31.  
  32. #define RCMT_NOCOMPRESSION (0L)
  33. #define RCMT_XPK (1L)
  34.  
  35. #define RMBT_BYTEPLANAR8 (0L) /* unaligned planar 8 bit bitmap */
  36. #define RMBT_BYTECHUNKY8 (1L) /* unaligned chunky 8 bit bitmap */
  37. #define RMBT_3BYTERGB24 (2L) /* 3-byte 24 bit RGB triples */
  38.  
  39. struct RSCM
  40. {
  41. ULONG rscm_AGA;
  42. ULONG rscm_CGfx;
  43. ULONG rscm_P96;
  44. };
  45.  
  46. struct RCOL
  47. {
  48. ULONG rcol_TransColor;
  49. ULONG rcol_TransColorNum;
  50. UBYTE rcol_Colors[256][3];
  51. };
  52.  
  53. /*
  54. struct RBOD
  55. {
  56. UBYTE rbod_XPK[3];     ** containing 'XPK'
  57. UBYTE rbod_BitMap[];
  58. };
  59.  
  60. Or simply:
  61.  
  62. struct RBOD
  63. {
  64. UBYTE rbod_BitMap[];
  65. };
  66. */
  67.  
  68. /*
  69. RGFX - Other chunks
  70. -------------------
  71.  
  72. - NAME, AUTH, ANNO and (C) chunks are allowed
  73.  
  74. */
  75.  
  76. #endif
  77.